📝 Резюме · 🧾 Транскрипт (формат) · 📄 Оригинал (922 B)
https://t.me/Python_libr/3551

Делаем вычисления более точными в Python

Источник: https://t.me/Python_libr/3551

Краткое содержание

Короткий урок о проблеме точности вычислений с плавающей запятой в Python и способе её решения с помощью модуля decimal.

Проблема возникает из-за невозможности точно представить некоторые десятичные дроби в двоичной системе:

# Классическая проблема float
print(0.1 + 0.2)
# Вывод: 0.30000000000000004

Решение — модуль decimal из стандартной библиотеки:

from decimal import Decimal

result = Decimal("0.1") + Decimal("0.2")
print(result)
# Вывод: 0.3

# Decimal поддерживает все стандартные операции
a = Decimal("1.5")
b = Decimal("0.7")
print(a - b)   # 0.8
print(a * b)   # 1.05
print(a > b)   # True

Значимость

Точность вычислений критически важна в финансовых, научных и инженерных приложениях. decimal — стандартное решение для Python, не требующее сторонних библиотек и полностью совместимое с привычными арифметическими операциями.

🧾 Транскрипт (формат)

📌 Делаем вычисления более точными

Источник: https://t.me/Python_libr/3551

📌 Делаем вычисления более точными

Поскольку люди не могут перевести некоторые числа с плавающей запятой в двоичный вид, мы получаем это: 0.1 + 0.2 = 0.30000000000000004.

Исправить проблему можно с помощью decimal. Модуль умеет быстро и правильно округлять арифметические операции с плавающей запятой.

И это всё тот же float. То есть вы можете складывать значения, вычитать, умножать, делить, сравнивать, и так далее.

#урок